// axios 二测封装
import axios from 'axios'
// import { Message } from 'element-ui'
// import router from '@/router'
import store from '@/store'

const request = axios.create({ // 创建一个axios的实例
  baseURL: 'http://likede2-admin.itheima.net/likede',
  timeout: 5000
})

// 请求拦截器
request.interceptors.request.use(config => {
  // console.log(config)
  // 具有公用性的字段  在这里添加
  // Authorization
  // Bearer b31747f8-7344-4d4a-a1b2-ad0b22dfda19
  if (store.getters.token) {
    // if (isCheckOut()) { // 要是时间差 大于规定tokenTime的时间
    //   // alert('超时了 宝贝儿~~~~') // 就弹一个提示框
    //   store.dispatch('user/logout')
    //   router.push('/login')
    //   return Promise.reject(new Error('登陆超时，得重新登陆'))
    // }
    config.headers.Authorization = `${store.getters.token}`
  }
  return config
}, error => {
  return Promise.reject(error)
})

// 响应拦截器
// request.interceptors.response.use(response => {
//   // console.log(response)
//   // 统一在此处理后端返回的数据
//   // 辣么 是么时候才能把数据传给页面
//   // 接口状态为200的时候 且业务逻辑正常
//   // axios会自动包一层data
//   const { data, message, success } = response.data
//   if (success) { // 要是状态码true  返回数据
//     return data
//   } else { // 否则
//     Message.error(message)// 报错框提示错误信息
//     return Promise.reject(new Error(message))// 并且抛出一个promise的错误 让外面的接口调用这个  好catch到错误
//   }
// }, error => {
//   if (error && error.response && error.response.status === 401) {
//     store.dispatch('user/logout')
//     router.push('/login')
//     console.log(error.response)
//     Message.error(error.response.data.message || '超时啦  再登陆一遍呗')
//   } else {
//     Message.error(error.message || '都是后端的问题 和我没关系')
//   }
//   return Promise.reject(error)
// })

export default request // 导出axios实例

